package shilin.test.demo.domain.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import shilin.test.demo.domain.entity.Myuser;
import org.mapstruct.Mapper;

/**
 * <p>
 * mapper 接口
 * </p>
 *
 * @author MMinbo
 * @since 2019-10-25
 */
@Mapper
public interface MyuserMapper extends BaseMapper<Myuser> {
	/**
	 * 根据用户名称查询用户
	 * @param name 用户名称
	 * @return  返回用户信息
	 */
	@Select("SELECT * FROM myuser where name=#{name}")

	 Myuser getUserByName(String name);

	/**
	 * 根据用户id查询用户
	 * @param id 用户id
	 * @return 返回用户信息
	 */
	@Select("SELECT * FROM myuser where id=#{id}")

	 Myuser getUserById(Integer id);

	/**
	 * 添加用户操作
	 * @param id 代表用户id
	 * @param name 代表用户名称
	 * @param age 代表用户年龄
	 * @param email 代表用户的email
	 */
	@Insert("insert into myuser(id,name,age,email) values(#{id},#{name},#{age},#{email})")
	 void insert(@Param("id") Integer id, @Param("name") String name, @Param("age")Integer age, @Param("email") String email);
	/**
	 * 根据用户的id删除用户
	 * @param id 用户id
	 * @return 返回结果
	 */
	@Update("DELETE from myuser where id=#{id}")
	 int deleteUserById(Integer id);
	/**
	 * 根据用户更新用户信息
	 * @param id 用户iid
	 * @param name 用户名称
	 * @param age 年纪
	 * @param email 邮箱
	 */
	@Update("UPDATE myuser set id=#{id},name=#{name}, age=#{age},email=#{email} where id=#{id}")
	 void updateUserById(@Param("id") Integer id, @Param("name") String name, @Param("age") Integer age, @Param("email") String email);
}
